Optical codes encode useful, optically-readable information about the items to which they are attached or otherwise associated. Perhaps the most common example of an optical code is the bar code. Bar codes are ubiquitously found on or associated with objects of various types, such as the packaging of retail, wholesale, and inventory goods; retail product presentation fixtures (e.g., shelves); goods undergoing manufacturing; personal or company assets; and documents. By encoding information, a bar code typically serves as an identifier of an object, whether the identification be to a class of objects (e.g., containers of milk) or a unique item. A typical linear or one-dimensional bar code, such as a UPC code, consist of alternating bars (i.e., relatively dark areas) and spaces (i.e., relatively light areas). The pattern of alternating bars and spaces and the widths of those bars and spaces represent a string of binary ones and zeros, wherein the width of any particular bar or space is an integer multiple of a specified minimum width, which is called a “module” or “unit.” Thus, to decode the information, a bar code reader must be able to reliably discern the pattern of bars and spaces, such as by determining the locations of edges demarking adjacent bars and spaces from one another, across the entire length of the bar code.
Bar codes are just one example of the many types of optical codes in use today. Higher-dimensional optical codes, such as, two-dimensional matrix codes (e.g., MaxiCode) or stacked codes (e.g., PDF 417), which are also sometimes referred to as “bar codes,” are also used for various purposes.
Different methods and types of optical code reading devices are available for capturing an optical code and for decoding the information represented by the optical code. For example, image-based readers are available that include imagers, such as charge coupled devices (CODs) or complementary metal oxide semiconductor (CMOS) imagers, that generate electronic image data that represent an image of a captured optical code. Image-based readers are used for reading one-dimensional optical codes and higher-dimensional optical codes. Because optical codes most often include dark and light patterns (e.g., black and white) that represent binary data, imagers of image-based readers are typically monochrome so that uniform sensitivity for each pixel of the imager is achieved. Also, typical image-based readers include light sources that illuminate the image-based reader's field of view with narrowband visible light to achieve high optical resolution by avoiding chromatic aberration and polychromatic diffraction effects. Narrowband light sources typically used for imaging include laser diodes, having a bandwidth on the order of 5 nanometers (nm), and light emitting diodes (LEDs), having a bandwidth on the order of 50 nm.
Common imagers made for image capturing devices, such as still cameras and video cameras, however, are color imagers—not monochrome. Because imagers made for many image capturing devices are color, color imagers are generally made in higher volume and have become less expensive than monochrome imagers. Some image-based readers have included color imagers, but the present inventors have recognized that those readers do not effectively achieve high optical resolution comparable to monochrome image-based readers with the same number and size of pixels.